home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
t_os
/
tmdsp
/
tmouse.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-10-18
|
1KB
|
64 lines
/*
TMOUSE.C Ver 0.02 1991.08.09 by Y.Kurihara (Nif PDC01620)"
マウスのボタンが押されるのを待ち、X、Y座標を環境変数に設定する。
ボタンの状態をエラーコードとして返す。
TMOUSE [<X座標> <Y座標>] (座標はカーソルの初期値となる)
*/
#include <stdlib.h>
#include <mos.h>
#include "environ.h"
char moswork[MosWorkSize];
char *int2str( char *str,int num )
{
if( num < 0 ) {
*str++ = '-';
num = -num;
}
if( num > 9 ) str = int2str( str,num / 10 );
*str++ = num % 10 + '0';
*str = 0;
return( str );
}
void main( int argc,char **argv )
{
int bt,lx,ly;
int env;
char buf[20];
MOS_start(moswork,MosWorkSize) ;
MOS_resolution(0,3) ;
MOS_disp(1) ;
if( argc >= 3 ) {
lx = atoi( argv[1] );
ly = atoi( argv[2] );
lx = lx * 8 + 4;
ly = ly * 16 + 8;
MOS_setpos( lx,ly );
}
do {
MOS_rdpos( &bt,&lx,&ly ) ;
} while ( bt == 0 ) ;
MOS_end() ;
env = pspenv( getcpid() );
lx = lx / 8;
int2str( buf,lx );
envset( "X",buf,env );
ly = ly / 16;
int2str( buf,ly );
envset( "Y",buf,env );
exit( bt );
}